﻿//==============================================================================
// FontManagerBase 
//==============================================================================

#include "stdafx.h"
#include "Font.h"
#include "FontManagerBase.h"

namespace LNote
{
namespace Core
{
namespace Graphics
{

//==============================================================================
// ■ FontManagerBase
//==============================================================================

	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    FontManagerBase::FontManagerBase()
        : mDefaultFont  ( NULL )
    {
    }

	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    FontManagerBase::~FontManagerBase()
    {
    }

	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    void FontManagerBase::initialize( Font* defaultFont )
    {
		setDefaultFont( defaultFont );
    }

	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    void FontManagerBase::finalize()
    {
        LN_SAFE_RELEASE( mDefaultFont );
    }

	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    Font* FontManagerBase::createFont( const lnChar* fontname )
    {
        Font* font = mDefaultFont->copy();
        if ( fontname ) {
            font->setName( fontname );
        }
        return font;
    }
    
	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    void FontManagerBase::setDefaultFont( Font* font )
    {
		LN_REFOBJ_SET( mDefaultFont, font );
    }

	//----------------------------------------------------------------------
	//
	//----------------------------------------------------------------------
    Font* FontManagerBase::getDefaultFont()
    { 
        return mDefaultFont;
    }

} // namespace Graphics
} // namespace Core
} // namespace LNote

//==============================================================================
//
//==============================================================================